/** @file Theme.js
@brief The theme object management library

This stateless library exposes methods depending by the theme.
The usage of the getter methods to manage the theme graphic compnents has the
advantage that these can be customized leaving untouched the original components.
@todo Add the theme localization for the application strings.

@authorname \n
@licenseversion \n
@actualversion - @dateupdate

@licensenote
*/
.pragma library

/**
  @var var themePrefix
  @brief The prefix folder containing the themes

  Usually following the standard architecture of Qt-Complex
  the object theme folder is \e themes If the folder is different
  this variable should be changed. It is also possible
  specify a URL to get the UI objects from the web.
  */
var themePrefix = "themes";

/**
  @var var tb_home, tb_map, tb_info
  @brief The text for the standard toolbar buttons

  These are for internal function use only, not useful
  to be managed in external calls.
  */
var tb_home = "Home";
var tb_map = "Map";
var tb_info = "Info";

/**
  @fn getBaseUrl(theme)
  @brief Returns the theme base url.

 This function is not actually implemented.

  @param theme the theme name
  @return The url prefix
  */
function getBaseUrl(theme) {
    return "http://192.168.1.3/" + theme + "/";
}

/**
  @fn getActiveMenuIcon(theme)
  @brief Icon shown under the current active menu in a toolbar.
  @param theme the theme name
  @return The complete file name
  */
function getActiveMenuIcon(theme) {
    return themePrefix + "/" + theme + "/ActiveBarIcon.png";
}

/**
  @fn getArrowList(theme)
  @brief Marker for the multilevel lists
  @param theme the theme name
  @return The complete file name
  */
function getArrowList(theme) {
    return themePrefix + "/" + theme + "/Arrow.png";
}

/**
  @fn getListItem(theme)
  @brief List item standard background
  @param theme the theme name
  @return The complete file name
  */
function getListItem(theme) {
    return themePrefix + "/" + theme + "/list_item.png";
}

/**
  @fn getListActive(theme)
  @brief Active list item background
  @param theme the theme name
  @return The complete file name
  */
function getListActive(theme) {
    return themePrefix + "/" + theme + "/list_active.png";
}

/**
  @fn getListPressed(theme)
  @brief List item pressed background
  @param theme the theme name
  @return The complete file name
  */
function getListPressed(theme) {
    return themePrefix + "/" + theme + "/list_pressed.png";
}

/**
  @fn getListSelected(theme)
  @brief List item selected background
  @param theme the theme name
  @return The complete file name
  */
function getListSelected(theme) {
    return themePrefix + "/" + theme + "/list_selected.png";
}

/**
  @fn getListSubitem(theme)
  @brief List sub item
  @param theme the theme name
  @return The complete file name
  */
function getListSubitem(theme) {
    return themePrefix + "/" + theme + "/list_subitem.png";
}

/**
  @fn getPrevBtnIco(theme)
  @brief Special left arrow button
  @param theme the theme name
  @return The complete file name
  */
function getPrevBtnIco(theme) {
    return themePrefix + "/" + theme + "/Back_Button.png";
}

/**
  @fn getNextBtnIco(theme)
  @brief Special right arrow button
  @param theme the theme name
  @return The complete file name
  */
function getNextBtnIco(theme) {
    return themePrefix + "/" + theme + "/Next_Button.png";
}

/**
  @fn getBanner(theme)
  @brief Static image horizontal banner
  @param theme the theme name
  @return The complete file name
  */
function getBanner(theme) {
    return themePrefix + "/" + theme + "/Banner.png";
}

/**
  @fn getBannerBackground(theme)
  @brief Background image for the static banner
  @param theme the theme name
  @return The complete file name
  */
function getBannerBackground(theme) {
    return themePrefix + "/" + theme + "/BannerBackground.png";
}

/**
  @fn getInfoPopIco(theme)
  @brief Icon for info popup on some objects
  @param theme the theme name
  @return The complete file name
  */
function getInfoPopIco(theme) {
    return themePrefix + "/" + theme + "/btnSmallInfo.png";
}

/**
  @fn getLoadingIco(theme)
  @brief Circular icon for long event wait
  @param theme the theme name
  @return The complete file name
  */
function getLoadingIco(theme) {
    return themePrefix + "/" + theme + "/loading.png";
}

/**
  @fn getTbarHome(theme)
  @brief Toolbar home button (standard three buttons toolbar)
  @param theme the theme name
  @return The complete file name
  */
function getTbarHome(theme) {
    return themePrefix + "/" + theme + "/btnToolbarHome.png";
}

/**
  @fn getTbarMap(theme)
  @brief Toolbar map button (standard three buttons toolbar)
  @param theme the theme name
  @return The complete file name
  */
function getTbarMap(theme) {
    return themePrefix + "/" + theme + "/btnToolbarMap.png";
}

/**
  @fn getTbarInfo(theme)
  @brief Toolbar info button (standard three buttons toolbar)
  @param theme the theme name
  @return The complete file name
  */
function getTbarInfo(theme) {
    return themePrefix + "/" + theme + "/btnToolbarInfo.png";
}

/**
  @fn getTbar(theme)
  @brief Toolbar background (standard three buttons toolbar)
  @param theme the theme name
  @return The complete file name
  */
function getTbar(theme) {
    return themePrefix + "/" + theme + "/toolbar.png";
}

/**
  @fn getButton(theme)
  @brief Generic button background
  @param theme the theme name
  @return The complete file name
  */
function getButton(theme) {
    return themePrefix + "/" + theme + "/button.png";
}

/**
  @fn getClearInputIco(theme)
  @brief Icon for clear file function in the input text area
  @param theme the theme name
  @return The complete file name
  */
function getClearInputIco(theme) {
    return themePrefix + "/" + theme + "/textFieldClear.png";
}

/**
  @fn getTextInputNormal(theme)
  @brief Input text area normal background
  @param theme the theme name
  @return The complete file name
  */
function getTextInputNormal(theme) {
    return themePrefix + "/" + theme + "/textInputNormal.png";
}

/**
  @fn getTextInputFocus(theme)
  @brief Input text area focused background
  @param theme the theme name
  @return The complete file name
  */
function getTextInputFocus(theme) {
    return themePrefix + "/" + theme + "/textInputFocus.png";
}

/**
  @fn getNavCenter(theme)
  @brief Map overlay navigation buttons. Center
  @param theme the theme name
  @return The complete file name
  */
function getNavCenter(theme) {
    return themePrefix + "/" + theme + "/naviMapCenter.png";
}

/**
  @fn getNavHome(theme)
  @brief Map overlay navigation buttons. Home location
  @param theme the theme name
  @return The complete file name
  */
function getNavHome(theme) {
    return themePrefix + "/" + theme + "/naviMapHome.png";
}

/**
  @fn getNavView(theme)
  @brief Map overlay navigation buttons. Swap between map views.
  @param theme the theme name
  @return The complete file name
  */
function getNavView(theme) {
    return themePrefix + "/" + theme + "/naviMapView.png";
}

/**
  @fn getSwitchOn(theme)
  @brief Bi-state swtich. Flag on
  @param theme the theme name
  @return The complete file name
  */
function getSwitchOn(theme) {
    return themePrefix + "/" + theme + "/switch_on.png";
}

/**
  @fn getSwitchOff(theme)
  @brief Bi-state swtich. Flag off
  @param theme the theme name
  @return The complete file name
  */
function getSwitchOff(theme) {
    return themePrefix + "/" + theme + "/switch_off.png";
}

/**
  @fn getLineEditBg(theme)
  @brief Background of the text input field
  @param theme the theme name
  @return The complete file name
  */
function getLineEditBg(theme) {
    return themePrefix + "/" + theme + "/lineedit-bg.png";
}

/**
  @fn getLineEditBgFocus(theme)
  @brief Background of the text input field when focused
  @param theme the theme name
  @return The complete file name
  */
function getLineEditBgFocus(theme) {
    return themePrefix + "/" + theme + "/lineedit-bg.png";
}

/**
  @fn getLineEditBgMask(theme)
  @brief Background of the text input field when input disabled
  @param theme the theme name
  @return The complete file name
  */
function getLineEditBgMask(theme) {
    return themePrefix + "/" + theme + "/lineedit-bg-mask.png"; clear.png
}

/**
  @fn getClearIcon(theme)
  @brief Small clear button to empty the text input fields
  @param theme the theme name
  @return The complete file name
  */
function getClearIcon(theme) {
    return themePrefix + "/" + theme + "/clear.png";
}
